/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package model;

import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Workspace</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link model.Workspace#getGroupOfSeries <em>Group Of Series</em>}</li>
 *   <li>{@link model.Workspace#getGroupOfActors <em>Group Of Actors</em>}</li>
 *   <li>{@link model.Workspace#getAssociations <em>Associations</em>}</li>
 *   <li>{@link model.Workspace#getRoles <em>Roles</em>}</li>
 *   <li>{@link model.Workspace#getSeasons <em>Seasons</em>}</li>
 *   <li>{@link model.Workspace#getSeries <em>Series</em>}</li>
 *   <li>{@link model.Workspace#getEpisodes <em>Episodes</em>}</li>
 *   <li>{@link model.Workspace#getActors <em>Actors</em>}</li>
 *   <li>{@link model.Workspace#getEpisodesPackage <em>Episodes Package</em>}</li>
 *   <li>{@link model.Workspace#getSeasonsPackage <em>Seasons Package</em>}</li>
 * </ul>
 * </p>
 *
 * @see model.ModelPackage#getWorkspace()
 * @model
 * @generated
 */
public interface Workspace extends EObject {
	/**
	 * Returns the value of the '<em><b>Group Of Series</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Group Of Series</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Group Of Series</em>' containment reference.
	 * @see #setGroupOfSeries(SeriesPackage)
	 * @see model.ModelPackage#getWorkspace_GroupOfSeries()
	 * @model containment="true" required="true"
	 * @generated
	 */
	SeriesPackage getGroupOfSeries();

	/**
	 * Sets the value of the '{@link model.Workspace#getGroupOfSeries <em>Group Of Series</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Group Of Series</em>' containment reference.
	 * @see #getGroupOfSeries()
	 * @generated
	 */
	void setGroupOfSeries(SeriesPackage value);

	/**
	 * Returns the value of the '<em><b>Group Of Actors</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Group Of Actors</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Group Of Actors</em>' containment reference.
	 * @see #setGroupOfActors(ActorsPackage)
	 * @see model.ModelPackage#getWorkspace_GroupOfActors()
	 * @model containment="true" required="true"
	 * @generated
	 */
	ActorsPackage getGroupOfActors();

	/**
	 * Sets the value of the '{@link model.Workspace#getGroupOfActors <em>Group Of Actors</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Group Of Actors</em>' containment reference.
	 * @see #getGroupOfActors()
	 * @generated
	 */
	void setGroupOfActors(ActorsPackage value);

	/**
	 * Returns the value of the '<em><b>Associations</b></em>' containment reference list.
	 * The list contents are of type {@link model.Association}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Associations</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Associations</em>' containment reference list.
	 * @see model.ModelPackage#getWorkspace_Associations()
	 * @model containment="true"
	 * @generated
	 */
	EList<Association> getAssociations();

	/**
	 * Returns the value of the '<em><b>Roles</b></em>' containment reference list.
	 * The list contents are of type {@link model.Role}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Roles</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Roles</em>' containment reference list.
	 * @see model.ModelPackage#getWorkspace_Roles()
	 * @model containment="true"
	 * @generated
	 */
	EList<Role> getRoles();

	/**
	 * Returns the value of the '<em><b>Seasons</b></em>' containment reference list.
	 * The list contents are of type {@link model.Season}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Seasons</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Seasons</em>' containment reference list.
	 * @see model.ModelPackage#getWorkspace_Seasons()
	 * @model containment="true"
	 * @generated
	 */
	EList<Season> getSeasons();

	/**
	 * Returns the value of the '<em><b>Series</b></em>' containment reference list.
	 * The list contents are of type {@link model.Serie}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Series</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Series</em>' containment reference list.
	 * @see model.ModelPackage#getWorkspace_Series()
	 * @model containment="true"
	 * @generated
	 */
	EList<Serie> getSeries();

	/**
	 * Returns the value of the '<em><b>Episodes</b></em>' containment reference list.
	 * The list contents are of type {@link model.Episode}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Episodes</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Episodes</em>' containment reference list.
	 * @see model.ModelPackage#getWorkspace_Episodes()
	 * @model containment="true"
	 * @generated
	 */
	EList<Episode> getEpisodes();

	/**
	 * Returns the value of the '<em><b>Actors</b></em>' containment reference list.
	 * The list contents are of type {@link model.Actor}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Actors</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Actors</em>' containment reference list.
	 * @see model.ModelPackage#getWorkspace_Actors()
	 * @model containment="true"
	 * @generated
	 */
	EList<Actor> getActors();

	/**
	 * Returns the value of the '<em><b>Episodes Package</b></em>' containment reference list.
	 * The list contents are of type {@link model.EpisodesPackage}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Episodes Package</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Episodes Package</em>' containment reference list.
	 * @see model.ModelPackage#getWorkspace_EpisodesPackage()
	 * @model containment="true"
	 * @generated
	 */
	EList<EpisodesPackage> getEpisodesPackage();

	/**
	 * Returns the value of the '<em><b>Seasons Package</b></em>' containment reference list.
	 * The list contents are of type {@link model.SeasonPackage}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Seasons Package</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Seasons Package</em>' containment reference list.
	 * @see model.ModelPackage#getWorkspace_SeasonsPackage()
	 * @model containment="true"
	 * @generated
	 */
	EList<SeasonPackage> getSeasonsPackage();

} // Workspace
